diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php
index 5290ede..b6cb460 100644
--- a/system/database/drivers/sqlite/sqlite_driver.php
+++ b/system/database/drivers/sqlite/sqlite_driver.php
@@ -404,7 +404,7 @@
 	{
 		if (stristr($table, '.'))
 		{
-			$table = preg_replace("/\./", "`.`", $table);
+			$table = preg_replace("/\./", ".", $table);
 		}
 		
 		return $table;
@@ -437,7 +437,7 @@
 		}	
 
 		// This function may get "item1 item2" as a string, and so
-		// we may need "`item1` `item2`" and not "`item1 item2`"
+		// we may need "item1 item2" and not "item1 item2"
 		if (ctype_alnum($item) === FALSE)
 		{
 			if (strpos($item, '.') !== FALSE)
@@ -447,14 +447,14 @@
 				$item = (strpos($aliased_tables, $table_name) !== FALSE) ? $item = $item : $this->dbprefix.$item;
 			}
 
-			// This function may get "field >= 1", and need it to return "`field` >= 1"
+			// This function may get "field >= 1", and need it to return "field >= 1"
 			$lbound = ($first_word_only === TRUE) ? '' : '|\s|\(';
 
-			$item = preg_replace('/(^'.$lbound.')([\w\d\-\_]+?)(\s|\)|$)/iS', '$1`$2`$3', $item);
+			$item = preg_replace('/(^'.$lbound.')([\w\d\-\_]+?)(\s|\)|$)/iS', '$1$2$3', $item);
 		}
 		else
 		{
-			return "`{$item}`";
+			return "{$item}";
 		}
 
 		$exceptions = array('AS', '/', '-', '%', '+', '*');
@@ -462,9 +462,9 @@
 		foreach ($exceptions as $exception)
 		{
 		
-			if (stristr($item, " `{$exception}` ") !== FALSE)
+			if (stristr($item, " {$exception} ") !== FALSE)
 			{
-				$item = preg_replace('/ `('.preg_quote($exception).')` /i', ' $1 ', $item);
+				$item = preg_replace('/ ('.preg_quote($exception).') /i', ' $1 ', $item);
 			}
 		}
 		return $item;
